package KiemTra;

import java.util.Calendar;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JOptionPane;

public class KiemTra {

    public KiemTra() {
    }
    /*Kiểm tra tên đầu vào
     * Trả về kết quả logic đúng or sai
     * Tham số n
     */

    public static boolean kiemTraTen(String n) {

        if (n == null || n.length() == 0) {
            return false;
        } else {
            String strPattern = "[^a-z ]";

            Pattern p;
            Matcher m;
            int flag = Pattern.CASE_INSENSITIVE;// Khai báo kiểu pattern không phân biệt chữ hoa, chữ thường
            p = Pattern.compile(strPattern, flag);// trình dịch sẽ biên dịch chuỗi pattern của bạn kèm theo tham số, ở đấy là không phân biệt chữ hoa, thường
            m = p.matcher(n);// So sánh pattern (^a-z) với chuỗi n truyền vào. Nếu chuỗi n thỏa mãn với pattern sẽ trả về true
            return !m.find();
        }
    }

    /**
     * Kiểm tra Email Trả về kết quả logic đúng or sai Tham số n
     */
    public static boolean kiemTraEmail(String n) {
        if (!n.equals("")) {
            String strPattern = "\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b";
            Pattern p;
            Matcher m;
            int flag = Pattern.CASE_INSENSITIVE;
            p = Pattern.compile(strPattern, flag);
            m = p.matcher(n);
            return m.find();
        }
        return true;
    }
    /*
     * Kiểm tra tên Web
     */

    public static boolean kiemTraWebsite(String n) {
        if (!n.equals("")) {
            String strPattern = "[a-z]\\.[a-z]";
            Pattern p;
            Matcher m;
            int flag = Pattern.CASE_INSENSITIVE;
            p = Pattern.compile(strPattern, flag);
            m = p.matcher(n);
            return m.find();
        }
        return true;
    }

    /**
     * Kiểm tra số điện thoại Trả về kết quả logic đúng or sai Tham số n
     */
    public static boolean kiemTraSDT(String n) {
        if (!n.equals("")) {
            if (n.length() > 15 || n.length() < 7) {
                return false;
            } else {
                String strPattern = "[^0-9 ]";
                Pattern p;
                Matcher m;
                int flag = Pattern.CASE_INSENSITIVE;
                p = Pattern.compile(strPattern, flag);
                m = p.matcher(n);
                return !m.find();
            }
        }
        return true;
    }

    /**
     * Kiểm tra số đầu vào Trả về kết quả logic đúng or sai Tham số n
     */
    public static boolean kiemTraSo(String n) {
        if (n == null || n.length() > 20 || n.length() < 1) {
            return false;
        } else {
            String strPattern = "[^0-9.]";
            Pattern p;
            Matcher m;
            int flag = Pattern.CASE_INSENSITIVE;
            p = Pattern.compile(strPattern, flag);
            m = p.matcher(n);
            return !m.find();
        }
    }

    //Kiểm tra năm nhập vào (Bảng thêm thuốc)
    public static boolean kiemTraNam(String n) {
        if (n == null || n.length() > 5 || n.length() < 4) {
            return false;
        } else {
            String strPattern = "[^0-9]";
            Pattern p;
            Matcher m;
            int flag = Pattern.CASE_INSENSITIVE;
            p = Pattern.compile(strPattern, flag);
            m = p.matcher(n);
            return !m.find();
        }
    }

    /**
     * Kiểm tra Id Trả về kết quả logic đúng or sai Tham số n
     */
    public static boolean kiemTraID(String n) {
        if (n == null || n.length() > 10 || n.length() < 2) {
            return false;
        } else {
            String strPattern = "[^a-z0-9]";
            Pattern p;
            Matcher m;
            int flag = Pattern.CASE_INSENSITIVE;
            p = Pattern.compile(strPattern, flag);
            m = p.matcher(n);
            return !m.find();

        }
    }
}
